TOP

SQL INNER JOIN

SQL INNER JOIN Descrição

A palavra-chave INNER JOIN seleciona registros que possuem valores correspondentes em ambas as tabelas.


SQL INNER JOIN Sintaxe

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name

SQL INNER JOIN

Banco de dados de demonstração

Abaixo está um exemplo da tabela "Orders" ("Pedidos"):

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

E a seleção da tabela "Customers" ("Clientes"):

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

SQL INNER JOIN Exemplo

A seguinte instrução SQL seleciona todos os pedidos com informações do cliente:

Run SQLSELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID
A palavra-chave INNER JOIN seleciona todas as linhas de ambas as tabelas se houver uma correspondência entre as colunas. Caso existam registros na tabela "Orders" ("Pedidos") que não correspondam em "Customers" ("Clientes"), esses pedidos não serão exibidos!

SQL INNER JOIN para juntar três tabelas

A instrução SQL a seguir seleciona todos os pedidos com informações do cliente e do remetente:

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName 
FROM ((Orders INNER JOIN Customers 
       ON Orders.CustomerID = Customers.CustomerID) 
       
      INNER JOIN Shippers 
      ON Orders.ShipperID = Shippers.ShipperID)